package com.csii.ldap.entity;

import lombok.Data;
import org.springframework.ldap.odm.annotations.*;

import javax.naming.Name;

/**
 * @author danjiawei
 * @desc 拥有组属性的成员
 * @date 2020/9/5
 */
@Entry(objectClasses = {"inetOrgPerson", "posixAccount", "top"}, base = "ou=Departments")
@Data
public class GroupUser {

    /**
     * 唯一标识（全称）
     */
    @Id
    private Name dn;
    /**
     * 全名（登录用户名）
     */
    @Attribute(name = "cn")
    @DnAttribute(value = "cn", index = 2)
    private String fullName;
    /**
     * 姓
     */
    @Attribute(name = "givenName")
    private String firstName;
    /**
     * 名
     */
    @Attribute(name = "sn")
    private String lastName;
    /**
     * 邮箱
     */
    @Attribute(name = "mail")
    private String email;
    /**
     * 电话
     */
    @Attribute(name = "telephoneNumber")
    private String phone;
    /**
     * 二级组织
     */
    @DnAttribute(value="ou", index=1)
    @Transient
    private String department;
    /**
     * 登陆密码
     */
    @Attribute(name = "userPassword")
    private String password;
    /**
     * 组的id（必填）
     */
    @Attribute(name = "gidNumber")
    private Integer gidNumber;
    /**
     * ？？？（必填，可以默认：/home/users/ + uid）
     */
    @Attribute(name = "homeDirectory")
    private String homeDirectory;
    /**
     * ？？？（必填）
     */
    @Attribute(name = "uidNumber")
    private Integer uidNumber;
    /**
     * 建议和登录名一样（必填）
     */
    @Attribute(name = "uid")
    private String uid;
    /**
     * 用户的角色，多个角色用','拼接
     */
    @Attribute(name = "description")
    private String description;
}
